loader

一、准备工作

  1. 获取API凭证

    • 登录DeepSeek官网注册开发者账号

    • 进入控制台创建API Key(如:sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)

  2. 服务器基础环境

    • Ubuntu 20.04+ LTS系统

    • 公网IP地址

    • 开放所需端口(建议80/443)


二、环境搭建

1. 安装Web服务器

bash
复制
# 安装Nginx
sudo apt update && sudo apt install nginx -y
systemctl start nginx

# 安装Python环境
sudo apt install python3-pip python3-venv -y

2. 创建项目目录

bash
复制
mkdir deepseek-api && cd deepseek-api
python3 -m venv venv
source venv/bin/activate

三、API对接实现

1. 安装依赖库

bash
复制
pip install flask requests python-dotenv

2. 创建配置文件(.env)

env
复制
DEEPSEEK_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
API_BASE_URL=https://api.deepseek.com/v1

3. 核心代码示例(app.py)

python
复制
import os
from flask import Flask, request, jsonify
import requests
from dotenv import load_dotenv

load_dotenv()

app = Flask(__name__)
API_KEY = os.getenv("DEEPSEEK_API_KEY")
BASE_URL = os.getenv("API_BASE_URL")

@app.route('/chat', methods=['POST'])
def chat_completion():
    try:
        data = request.json
        headers = {
            "Authorization": f"Bearer {API_KEY}",
            "Content-Type": "application/json"
        }
        
        response = requests.post(
            f"{BASE_URL}/chat/completions",
            headers=headers,
            json={
                "model": "deepseek-chat",
                "messages": data["messages"],
                "temperature": 0.7
            }
        )
        
        if response.status_code == 200:
            return jsonify(response.json())
        else:
            return jsonify({"error": response.text}), response.status_code

    except Exception as e:
        return jsonify({"error": str(e)}), 500

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=5000)

四、部署与测试

1. 配置反向代理(Nginx)

nginx
复制
server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

2. 启动服务

bash
复制
# 调试模式
python app.py

# 生产环境建议使用Gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 app:app

3. 接口测试

CURL测试:

bash
复制
curl -X POST http://localhost:5000/chat \
-H "Content-Type: application/json" \
-d '{
    "messages": [
        {"role": "user", "content": "你好,请介绍一下自己"}
    ]
}'

Postman测试:

  1. 创建POST请求到/chat端点

  2. 设置Header:Content-Type: application/json

  3. Body示例:

json
复制
{
    "messages": [
        {"role": "user", "content": "写一首关于春天的诗"}
    ]
}